Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Feature (computer vision)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Feature_(computer_vision)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Feature_computer_vision rootpage-Feature_computer_vision skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Feature (computer vision)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="Feature_(machine_learning)" title="Feature (machine learning)">Feature (machine learning)</a></div>
<p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1246091330">
/* start https://en.wikipedia.org/ */


.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r886047488">
/* start https://en.wikipedia.org/ */


.mw-parser-output .nobold{font-weight:normal}


/* end https://en.wikipedia.org/ */
</style><table class="sidebar sidebar-collapse nomobile nowraplinks"><tbody><tr><td class="sidebar-pretitle">Part of a series on</td></tr><tr><th class="sidebar-title-with-pretitle"><a href="Machine_learning" title="Machine learning">Machine learning</a><br>and <a href="Data_mining" title="Data mining">data mining</a></th></tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Paradigms</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Supervised_learning" title="Supervised learning">Supervised learning</a></li>
<li><a href="Unsupervised_learning" title="Unsupervised learning">Unsupervised learning</a></li>
<li><a href="Semi-supervised_learning" class="mw-redirect" title="Semi-supervised learning">Semi-supervised learning</a></li>
<li><a href="Self-supervised_learning" title="Self-supervised learning">Self-supervised learning</a></li>
<li><a href="Reinforcement_learning" title="Reinforcement learning">Reinforcement learning</a></li>
<li><a href="Meta-learning_(computer_science)" title="Meta-learning (computer science)">Meta-learning</a></li>
<li><a href="Online_machine_learning" title="Online machine learning">Online learning</a></li>
<li><a href="Batch_learning" class="mw-redirect" title="Batch learning">Batch learning</a></li>
<li><a href="Curriculum_learning" title="Curriculum learning">Curriculum learning</a></li>
<li><a href="Rule-based_machine_learning" title="Rule-based machine learning">Rule-based learning</a></li>
<li><a href="Neuro-symbolic_AI" title="Neuro-symbolic AI">Neuro-symbolic AI</a></li>
<li><a href="Neuromorphic_engineering" class="mw-redirect" title="Neuromorphic engineering">Neuromorphic engineering</a></li>
<li><a href="Quantum_machine_learning" title="Quantum machine learning">Quantum machine learning</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Problems</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Statistical_classification" title="Statistical classification">Classification</a></li>
<li><a href="Generative_model" title="Generative model">Generative modeling</a></li>
<li><a href="Regression_analysis" title="Regression analysis">Regression</a></li>
<li><a href="Cluster_analysis" title="Cluster analysis">Clustering</a></li>
<li><a href="Dimensionality_reduction" title="Dimensionality reduction">Dimensionality reduction</a></li>
<li><a href="Density_estimation" title="Density estimation">Density estimation</a></li>
<li><a href="Anomaly_detection" title="Anomaly detection">Anomaly detection</a></li>
<li><a href="Data_cleaning" class="mw-redirect" title="Data cleaning">Data cleaning</a></li>
<li><a href="Automated_machine_learning" title="Automated machine learning">AutoML</a></li>
<li><a href="Association_rule_learning" title="Association rule learning">Association rules</a></li>
<li><a href="Semantic_analysis_(machine_learning)" title="Semantic analysis (machine learning)">Semantic analysis</a></li>
<li><a href="Structured_prediction" title="Structured prediction">Structured prediction</a></li>
<li><a href="Feature_engineering" title="Feature engineering">Feature engineering</a></li>
<li><a href="Feature_learning" title="Feature learning">Feature learning</a></li>
<li><a href="Learning_to_rank" title="Learning to rank">Learning to rank</a></li>
<li><a href="Grammar_induction" title="Grammar induction">Grammar induction</a></li>
<li><a href="Ontology_learning" title="Ontology learning">Ontology learning</a></li>
<li><a href="Multimodal_learning" title="Multimodal learning">Multimodal learning</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><div style="display: inline-block; line-height: 1.2em; padding: .1em 0;"><a href="Supervised_learning" title="Supervised learning">Supervised learning</a><br><span class="nobold"><span style="font-size: 85%;">(<b><a href="Statistical_classification" title="Statistical classification">classification</a></b>&nbsp;• <b><a href="Regression_analysis" title="Regression analysis">regression</a></b>)</span></span> </div></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Apprenticeship_learning" title="Apprenticeship learning">Apprenticeship learning</a></li>
<li><a href="Decision_tree_learning" title="Decision tree learning">Decision trees</a></li>
<li><a href="Ensemble_learning" title="Ensemble learning">Ensembles</a>
<ul><li><a href="Bootstrap_aggregating" title="Bootstrap aggregating">Bagging</a></li>
<li><a href="Boosting_(machine_learning)" title="Boosting (machine learning)">Boosting</a></li>
<li><a href="Random_forest" title="Random forest">Random forest</a></li></ul></li>
<li><a href="K-nearest_neighbors_algorithm" title="K-nearest neighbors algorithm"><i>k</i>-NN</a></li>
<li><a href="Linear_regression" title="Linear regression">Linear regression</a></li>
<li><a href="Naive_Bayes_classifier" title="Naive Bayes classifier">Naive Bayes</a></li>
<li><a href="Artificial_neural_network" class="mw-redirect" title="Artificial neural network">Artificial neural networks</a></li>
<li><a href="Logistic_regression" title="Logistic regression">Logistic regression</a></li>
<li><a href="Perceptron" title="Perceptron">Perceptron</a></li>
<li><a href="Relevance_vector_machine" title="Relevance vector machine">Relevance vector machine (RVM)</a></li>
<li><a href="Support_vector_machine" title="Support vector machine">Support vector machine (SVM)</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><a href="Cluster_analysis" title="Cluster analysis">Clustering</a></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="BIRCH" title="BIRCH">BIRCH</a></li>
<li><a href="CURE_algorithm" title="CURE algorithm">CURE</a></li>
<li><a href="Hierarchical_clustering" title="Hierarchical clustering">Hierarchical</a></li>
<li><a href="K-means_clustering" title="K-means clustering"><i>k</i>-means</a></li>
<li><a href="Fuzzy_clustering" title="Fuzzy clustering">Fuzzy</a></li>
<li><a href="Expectation%E2%80%93maximization_algorithm" title="Expectation–maximization algorithm">Expectation–maximization (EM)</a></li>
<li><br><a href="DBSCAN" title="DBSCAN">DBSCAN</a></li>
<li><a href="OPTICS_algorithm" title="OPTICS algorithm">OPTICS</a></li>
<li><a href="Mean_shift" title="Mean shift">Mean shift</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><a href="Dimensionality_reduction" title="Dimensionality reduction">Dimensionality reduction</a></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Factor_analysis" title="Factor analysis">Factor analysis</a></li>
<li><a href="Canonical_correlation" title="Canonical correlation">CCA</a></li>
<li><a href="Independent_component_analysis" title="Independent component analysis">ICA</a></li>
<li><a href="Linear_discriminant_analysis" title="Linear discriminant analysis">LDA</a></li>
<li><a href="Non-negative_matrix_factorization" title="Non-negative matrix factorization">NMF</a></li>
<li><a href="Principal_component_analysis" title="Principal component analysis">PCA</a></li>
<li><a href="Proper_generalized_decomposition" title="Proper generalized decomposition">PGD</a></li>
<li><a href="T-distributed_stochastic_neighbor_embedding" title="T-distributed stochastic neighbor embedding">t-SNE</a></li>
<li><a href="Sparse_dictionary_learning" title="Sparse dictionary learning">SDL</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><a href="Structured_prediction" title="Structured prediction">Structured prediction</a></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Graphical_model" title="Graphical model">Graphical models</a>
<ul><li><a href="Bayesian_network" title="Bayesian network">Bayes net</a></li>
<li><a href="Conditional_random_field" title="Conditional random field">Conditional random field</a></li>
<li><a href="Hidden_Markov_model" title="Hidden Markov model">Hidden Markov</a></li></ul></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><a href="Anomaly_detection" title="Anomaly detection">Anomaly detection</a></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Random_sample_consensus" title="Random sample consensus">RANSAC</a></li>
<li><a href="K-nearest_neighbors_algorithm" title="K-nearest neighbors algorithm"><i>k</i>-NN</a></li>
<li><a href="Local_outlier_factor" title="Local outlier factor">Local outlier factor</a></li>
<li><a href="Isolation_forest" title="Isolation forest">Isolation forest</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><a href="Neural_network_(machine_learning)" title="Neural network (machine learning)">Neural networks</a></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Autoencoder" title="Autoencoder">Autoencoder</a></li>
<li><a href="Deep_learning" title="Deep learning">Deep learning</a></li>
<li><a href="Feedforward_neural_network" title="Feedforward neural network">Feedforward neural network</a></li>
<li><a href="Recurrent_neural_network" title="Recurrent neural network">Recurrent neural network</a>
<ul><li><a href="Long_short-term_memory" title="Long short-term memory">LSTM</a></li>
<li><a href="Gated_recurrent_unit" title="Gated recurrent unit">GRU</a></li>
<li><a href="Echo_state_network" title="Echo state network">ESN</a></li>
<li><a href="Reservoir_computing" title="Reservoir computing">reservoir computing</a></li></ul></li>
<li><a href="Boltzmann_machine" title="Boltzmann machine">Boltzmann machine</a>
<ul><li><a href="Restricted_Boltzmann_machine" title="Restricted Boltzmann machine">Restricted</a></li></ul></li>
<li><a href="Generative_adversarial_network" title="Generative adversarial network">GAN</a></li>
<li><a href="Diffusion_model" title="Diffusion model">Diffusion model</a></li>
<li><a href="Self-organizing_map" title="Self-organizing map">SOM</a></li>
<li><a href="Convolutional_neural_network" title="Convolutional neural network">Convolutional neural network</a>
<ul><li><a href="U-Net" title="U-Net">U-Net</a></li>
<li><a href="LeNet" title="LeNet">LeNet</a></li>
<li><a href="AlexNet" title="AlexNet">AlexNet</a></li>
<li><a href="DeepDream" title="DeepDream">DeepDream</a></li></ul></li>
<li><a href="Neural_field" title="Neural field">Neural field</a>
<ul><li><a href="Neural_radiance_field" title="Neural radiance field">Neural radiance field</a></li>
<li><a href="Physics-informed_neural_networks" title="Physics-informed neural networks">Physics-informed neural networks</a></li></ul></li>
<li><a href="Transformer_(deep_learning_architecture)" title="Transformer (deep learning architecture)">Transformer</a>
<ul><li><a href="Vision_transformer" title="Vision transformer">Vision</a></li></ul></li>
<li><a href="Mamba_(deep_learning_architecture)" title="Mamba (deep learning architecture)">Mamba</a></li>
<li><a href="Spiking_neural_network" title="Spiking neural network">Spiking neural network</a></li>
<li><a href="Memtransistor" title="Memtransistor">Memtransistor</a></li>
<li><a href="Electrochemical_RAM" title="Electrochemical RAM">Electrochemical RAM</a> (ECRAM)</li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)"><a href="Reinforcement_learning" title="Reinforcement learning">Reinforcement learning</a></div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Q-learning" title="Q-learning">Q-learning</a></li>
<li><a href="Policy_gradient_method" title="Policy gradient method">Policy gradient</a></li>
<li><a href="State%E2%80%93action%E2%80%93reward%E2%80%93state%E2%80%93action" title="State–action–reward–state–action">SARSA</a></li>
<li><a href="Temporal_difference_learning" title="Temporal difference learning">Temporal difference (TD)</a></li>
<li><a href="Multi-agent_reinforcement_learning" title="Multi-agent reinforcement learning">Multi-agent</a>
<ul><li><a href="Self-play_(reinforcement_learning_technique)" class="mw-redirect" title="Self-play (reinforcement learning technique)">Self-play</a></li></ul></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Learning with humans</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Active_learning_(machine_learning)" title="Active learning (machine learning)">Active learning</a></li>
<li><a href="Crowdsourcing" title="Crowdsourcing">Crowdsourcing</a></li>
<li><a href="Human-in-the-loop" title="Human-in-the-loop">Human-in-the-loop</a></li>
<li><a href="Mechanistic_interpretability" title="Mechanistic interpretability">Mechanistic interpretability</a></li>
<li><a href="Reinforcement_learning_from_human_feedback" title="Reinforcement learning from human feedback">RLHF</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Model diagnostics</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Coefficient_of_determination" title="Coefficient of determination">Coefficient of determination</a></li>
<li><a href="Confusion_matrix" title="Confusion matrix">Confusion matrix</a></li>
<li><a href="Learning_curve_(machine_learning)" title="Learning curve (machine learning)">Learning curve</a></li>
<li><a href="Receiver_operating_characteristic" title="Receiver operating characteristic">ROC curve</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Mathematical foundations</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Kernel_machines" class="mw-redirect" title="Kernel machines">Kernel machines</a></li>
<li><a href="Bias%E2%80%93variance_tradeoff" title="Bias–variance tradeoff">Bias–variance tradeoff</a></li>
<li><a href="Computational_learning_theory" title="Computational learning theory">Computational learning theory</a></li>
<li><a href="Empirical_risk_minimization" title="Empirical risk minimization">Empirical risk minimization</a></li>
<li><a href="Occam_learning" title="Occam learning">Occam learning</a></li>
<li><a href="Probably_approximately_correct_learning" title="Probably approximately correct learning">PAC learning</a></li>
<li><a href="Statistical_learning_theory" title="Statistical learning theory">Statistical learning</a></li>
<li><a href="Vapnik%E2%80%93Chervonenkis_theory" title="Vapnik–Chervonenkis theory">VC theory</a></li>
<li><a href="Topological_deep_learning" title="Topological deep learning">Topological deep learning</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Journals and conferences</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="AAAI_Conference_on_Artificial_Intelligence" title="AAAI Conference on Artificial Intelligence">AAAI</a></li>
<li><a href="ECML_PKDD" title="ECML PKDD">ECML PKDD</a></li>
<li><a href="Conference_on_Neural_Information_Processing_Systems" title="Conference on Neural Information Processing Systems">NeurIPS</a></li>
<li><a href="International_Conference_on_Machine_Learning" title="International Conference on Machine Learning">ICML</a></li>
<li><a href="International_Conference_on_Learning_Representations" title="International Conference on Learning Representations">ICLR</a></li>
<li><a href="International_Joint_Conference_on_Artificial_Intelligence" title="International Joint Conference on Artificial Intelligence">IJCAI</a></li>
<li><a href="Machine_Learning_(journal)" title="Machine Learning (journal)">ML</a></li>
<li><a href="Journal_of_Machine_Learning_Research" title="Journal of Machine Learning Research">JMLR</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-content">
<div class="sidebar-list mw-collapsible mw-collapsed machine-learning-list-title"><div class="sidebar-list-title" style="border-top:1px solid #aaa; text-align:center;;color: var(--color-base)">Related articles</div><div class="sidebar-list-content mw-collapsible-content hlist">
<ul><li><a href="Glossary_of_artificial_intelligence" title="Glossary of artificial intelligence">Glossary of artificial intelligence</a></li>
<li><a href="List_of_datasets_for_machine-learning_research" title="List of datasets for machine-learning research">List of datasets for machine-learning research</a>
<ul><li><a href="List_of_datasets_in_computer_vision_and_image_processing" title="List of datasets in computer vision and image processing">List of datasets in computer vision and image processing</a></li></ul></li>
<li><a href="Outline_of_machine_learning" title="Outline of machine learning">Outline of machine learning</a></li></ul></div></div></td>
</tr><tr><td class="sidebar-navbar"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></td></tr></tbody></table>
<table class="sidebar nomobile nowraplinks"><tbody><tr><th class="sidebar-title"></th></tr><tr><th class="sidebar-heading">
<a href="Edge_detection" title="Edge detection">Edge detection</a></th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Canny_edge_detector" title="Canny edge detector">Canny</a></li>
<li><a href="Deriche_edge_detector" title="Deriche edge detector">Deriche</a></li>
<li><a href="Edge_detection#Differential" title="Edge detection">Differential</a></li>
<li><a href="Sobel_operator" title="Sobel operator">Sobel</a></li>
<li><a href="Prewitt_operator" title="Prewitt operator">Prewitt</a></li>
<li><a href="Robinson_compass_mask" title="Robinson compass mask">Robinson</a></li>
<li><a href="Roberts_cross" title="Roberts cross">Roberts cross</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
<a href="Corner_detection" title="Corner detection">Corner detection</a></th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Corner_detection#The_Harris_&amp;_Stephens_/_Shi–Tomasi_corner_detection_algorithms" title="Corner detection">Harris operator</a></li>
<li><a href="Corner_detection#The_Harris_&amp;_Stephens_/_Shi–Tomasi_corner_detection_algorithms" title="Corner detection">Shi and Tomasi</a></li>
<li><a href="Corner_detection#The_level_curve_curvature_approach" title="Corner detection">Level curve curvature</a></li>
<li><a href="Corner_detection#Scale-space_interest_points_based_on_the_Lindeberg_Hessian_feature_strength_measures" title="Corner detection">Hessian feature strength measures</a></li>
<li><a href="Corner_detection#The_SUSAN_corner_detector" title="Corner detection">SUSAN</a></li>
<li><a href="Corner_detection#AST-based_feature_detectors" title="Corner detection">FAST</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
<a href="Blob_detection" title="Blob detection">Blob detection</a></th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Blob_detection#The_Laplacian_of_Gaussian" title="Blob detection">Laplacian of Gaussian (LoG)</a></li>
<li><a href="Difference_of_Gaussians" title="Difference of Gaussians">Difference of Gaussians (DoG)</a></li>
<li><a href="Blob_detection#The_determinant_of_the_Hessian" title="Blob detection">Determinant of Hessian (DoH)</a></li>
<li><a href="Maximally_stable_extremal_regions" title="Maximally stable extremal regions">Maximally stable extremal regions</a></li>
<li><a href="Principal_Curvature-Based_Region_Detector" class="mw-redirect" title="Principal Curvature-Based Region Detector">PCBR</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
<a href="Ridge_detection" title="Ridge detection">Ridge detection</a></th></tr><tr><th class="sidebar-heading">
Hough transform</th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Hough_transform" title="Hough transform">Hough transform</a></li>
<li><a href="Generalized_Hough_transform" class="mw-redirect" title="Generalized Hough transform">Generalized Hough transform</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Structure tensor</th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Structure_tensor" title="Structure tensor">Structure tensor</a></li>
<li><a href="Generalized_structure_tensor" title="Generalized structure tensor">Generalized structure tensor</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Affine invariant feature detection</th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Affine_shape_adaptation" title="Affine shape adaptation">Affine shape adaptation</a></li>
<li><a href="Harris_affine_region_detector" title="Harris affine region detector">Harris affine</a></li>
<li><a href="Hessian_affine_region_detector" title="Hessian affine region detector">Hessian affine</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Feature description</th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Scale-invariant_feature_transform" title="Scale-invariant feature transform">SIFT</a></li>
<li><a href="Speeded_up_robust_features" title="Speeded up robust features">SURF</a></li>
<li><a href="GLOH" title="GLOH">GLOH</a></li>
<li><a href="Histogram_of_oriented_gradients" title="Histogram of oriented gradients">HOG</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
<a href="Scale_space" title="Scale space">Scale space</a></th></tr><tr><td class="sidebar-content hlist">
<ul><li><a href="Scale-space_axioms" title="Scale-space axioms">Scale-space axioms</a></li>
<li><a href="Scale_space_implementation" title="Scale space implementation">Implementation details</a></li>
<li><a href="Pyramid_(image_processing)" title="Pyramid (image processing)">Pyramids</a></li></ul></td>
</tr><tr><td class="sidebar-navbar"></td></tr></tbody></table>
<p>In <a href="Computer_vision" title="Computer vision">computer vision</a> and <a href="Image_processing" class="mw-redirect" title="Image processing">image processing</a>, a <b>feature</b> is a piece of information about the content of an image; typically about whether a certain region of the image has certain properties. Features may be specific structures in the image such as points, edges or objects. Features may also be the result of a general <a href="Neighborhood_operation" title="Neighborhood operation">neighborhood operation</a> or <b>feature detection</b> applied to the image. Other examples of features are related to motion in image sequences, or to shapes defined in terms of curves or boundaries between different image regions.
</p><p>More broadly a <i>feature</i> is any piece of information that is relevant for solving the computational task related to a certain application. This is the same sense as <a href="Feature_(machine_learning)" title="Feature (machine learning)">feature</a> in <a href="Machine_learning" title="Machine learning">machine learning</a> and <a href="Pattern_recognition" title="Pattern recognition">pattern recognition</a> generally, though image processing has a very sophisticated collection of features. The feature concept is very general and the choice of features in a particular computer vision system may be highly dependent on the specific problem at hand.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>There is no universal or exact definition of what constitutes a feature, and the exact definition often depends on the problem or the type of application. Nevertheless, a feature is typically defined as an "interesting" part of an <a href="Digital_image" title="Digital image">image</a>, and features are used as a starting point for many computer vision algorithms.
</p><p>Since features are used as the starting point and main primitives for subsequent algorithms, the overall algorithm will often only be as good as its feature detector. Consequently, the desirable property for a feature detector is <i><a href="Repeatability" title="Repeatability">repeatability</a></i>: whether or not the same feature will be detected in two or more different images of the same scene.
</p><p>Feature detection is a low-level <a href="Image_processing" class="mw-redirect" title="Image processing">image processing</a> operation. That is, it is usually performed as the first operation on an image and examines every <a href="Pixel" title="Pixel">pixel</a> to see if there is a feature present at that pixel. If this is part of a larger algorithm, then the algorithm will typically only examine the image in the region of the features. As a built-in pre-requisite to feature detection, the input image is usually smoothed by a <a href="Gaussian_blur" title="Gaussian blur">Gaussian</a> kernel in a <a href="Scale_space" title="Scale space">scale-space representation</a> and one or several feature images are computed, often expressed in terms of local <a href="Image_derivative" title="Image derivative">image derivative</a> operations.
</p><p>Occasionally, when feature detection is <a href="Computationally_expensive" class="mw-redirect" title="Computationally expensive">computationally expensive</a> and there are time constraints, a higher-level algorithm may be used to guide the feature detection stage so that only certain parts of the image are searched for features.
</p><p>There are many computer vision algorithms that use feature detection as the initial step, so as a result, a very large number of feature detectors have been developed. These vary widely in the kinds of feature detected, the computational complexity and the repeatability.
</p><p>When features are defined in terms of local neighborhood operations applied to an image, a procedure commonly referred to as <b>feature extraction</b>, one can distinguish between feature detection approaches that produce local decisions whether there is a feature of a given type at a given image point or not, and those who produce non-binary data as result. The distinction becomes relevant when the resulting detected features are relatively sparse. Although local decisions are made, the output from a feature detection step does not need to be a binary image. The result is often represented in terms of sets of (connected or unconnected) coordinates of the image points where features have been detected, sometimes with subpixel accuracy.
</p><p>When feature extraction is done without local decision making, the result is often referred to as a <i>feature image</i>. Consequently, a feature image can be seen as an image in the sense that it is a function of the same spatial (or temporal) variables as the original image, but where the pixel values hold information about image features instead of intensity or color. This means that a feature image can be processed in a similar way as an ordinary image generated by an image sensor. Feature images are also often computed as integrated step in algorithms for feature detection.
</p>
<div class="mw-heading mw-heading3"><h3 id="Feature_vectors_and_feature_spaces">Feature vectors and feature spaces</h3></div>
<p>In some applications, it is not sufficient to extract only one type of feature to obtain the relevant information from the image data. Instead, two or more different features are extracted, resulting in two or more feature descriptors at each image point. A common practice is to organize the information provided by all these descriptors as the elements of one single vector, commonly referred to as a <b>feature vector</b>. The set of all possible feature vectors constitutes a <b>feature space</b>.<sup id="cite_ref-Umbaugh2005_1-0" class="reference"><a href="#cite_note-Umbaugh2005-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>A common example of feature vectors appears when each image point is to be classified as belonging to a specific class. Assuming that each image point has a corresponding feature vector based on a suitable set of features, meaning that each class is well separated in the corresponding feature space, the classification of each image point can be done using standard <a href="Statistical_classification" title="Statistical classification">classification</a> method.
</p>
<style data-mw-deduplicate="TemplateStyles:r1273380762/mw-parser-output/.tmulti">
/* start https://en.wikipedia.org/ */


.mw-parser-output .tmulti .multiimageinner{display:flex;flex-direction:column}.mw-parser-output .tmulti .trow{display:flex;flex-direction:row;clear:left;flex-wrap:wrap;width:100%;box-sizing:border-box}.mw-parser-output .tmulti .tsingle{margin:1px;float:left}.mw-parser-output .tmulti .theader{clear:both;font-weight:bold;text-align:center;align-self:center;background-color:transparent;width:100%}.mw-parser-output .tmulti .thumbcaption{background-color:transparent}.mw-parser-output .tmulti .text-align-left{text-align:left}.mw-parser-output .tmulti .text-align-right{text-align:right}.mw-parser-output .tmulti .text-align-center{text-align:center}@media all and (max-width:720px){.mw-parser-output .tmulti .thumbinner{width:100%!important;box-sizing:border-box;max-width:none!important;align-items:center}.mw-parser-output .tmulti .trow{justify-content:center}.mw-parser-output .tmulti .tsingle{float:none!important;max-width:100%!important;box-sizing:border-box;text-align:center}.mw-parser-output .tmulti .tsingle .thumbcaption{text-align:left}.mw-parser-output .tmulti .trow>.thumbcaption{text-align:center}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .tmulti .multiimageinner span:not(.skin-invert-image):not(.skin-invert):not(.bg-transparent) img{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .tmulti .multiimageinner span:not(.skin-invert-image):not(.skin-invert):not(.bg-transparent) img{background-color:white}}


/* end https://en.wikipedia.org/ */
</style><div class="thumb tmulti tright"><div class="thumbinner multiimageinner" style="width:392px;max-width:392px"><div class="trow"><div class="tsingle" style="width:167px;max-width:167px"><div class="thumbimage" style="height:188px;overflow:hidden"><span typeof="mw:File"></span></div><div class="thumbcaption">Simplified example of training a neural network in object detection: The network is trained by multiple images that are known to depict <a href="Starfish" title="Starfish">starfish</a> and <a href="Sea_urchin" title="Sea urchin">sea urchins</a>, which are correlated with "nodes" that represent visual features. The starfish match with a ringed texture and a star outline, whereas most sea urchins match with a striped texture and oval shape. However, the instance of a ring textured sea urchin creates a weakly weighted association between them.</div></div><div class="tsingle" style="width:221px;max-width:221px"><div class="thumbimage" style="height:188px;overflow:hidden"><span typeof="mw:File"></span></div><div class="thumbcaption">Subsequent run of the network on an input image (left):<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> The network correctly detects the starfish. However, the weakly weighted association between ringed texture and sea urchin also confers a weak signal to the latter from one of two features. In addition, a shell that was not included in the training gives a weak signal for the oval shape, also resulting in a weak signal for the sea urchin output. These weak signals may result in a <a href="False_positive" class="mw-redirect" title="False positive">false positive</a> result for sea urchin.<br>In reality, textures and outlines would not be represented by single nodes, but rather by associated weight patterns of multiple nodes.</div></div></div></div></div>
<p>Another and related example occurs when <a href="Artificial_neural_network" class="mw-redirect" title="Artificial neural network">neural network</a>-based processing is applied to images. The input data fed to the neural network is often given in terms of a feature vector from each image point, where the vector is constructed from several different features extracted from the image data. During a learning phase, the network can itself find which combinations of different features are useful for solving the problem at hand.
</p>
<div class="mw-heading mw-heading2"><h2 id="Types">Types</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Edges">Edges</h3></div>
<p>Edges are points where there is a boundary (or an edge) between two image regions. In general, an edge can be of almost arbitrary shape, and may include junctions. In practice, edges are usually defined as sets of points in the image that have a strong <a href="Gradient" title="Gradient">gradient</a> magnitude. Furthermore, some common algorithms will then chain high gradient points together to form a more complete description of an edge. These algorithms usually place some constraints on the properties of an edge, such as shape, smoothness, and gradient value.
</p><p>Locally, edges have a one-dimensional structure.
</p>
<div class="mw-heading mw-heading3"><h3 id="Corners/interest_points">Corners/interest points</h3></div>
<p>The terms corners and interest points are used somewhat interchangeably and refer to point-like features in an image, which have a local two-dimensional structure. The name "Corner" arose since early algorithms first performed <a href="Edge_detection" title="Edge detection">edge detection</a>, and then analyzed the edges to find rapid changes in direction (corners). These algorithms were then developed so that explicit edge detection was no longer required, for instance by looking for high levels of <a href="Curvature" title="Curvature">curvature</a> in the <a href="Image_gradient" title="Image gradient">image gradient</a>. It was then noticed that the so-called corners were also being detected on parts of the image that were not corners in the traditional sense (for instance a small bright spot on a dark background may be detected). These points are frequently known as interest points, but the term "corner" is used by tradition.
</p>
<div class="mw-heading mw-heading3"><h3 id="Blobs_/_regions_of_interest_points">Blobs / regions of interest points</h3></div>
<p>Blobs provide a complementary description of image structures in terms of regions, as opposed to corners that are more point-like. Nevertheless, blob descriptors may often contain a preferred point (a local maximum of an operator response or a center of gravity) which means that many blob detectors may also be regarded as interest point operators. Blob detectors can detect areas in an image that are too smooth to be detected by a corner detector.
</p><p>Consider shrinking an image and then performing corner detection. The detector will respond to points that are sharp in the shrunk image, but may be smooth in the original image. It is at this point that the difference between a corner detector and a blob detector becomes somewhat vague. To a large extent, this distinction can be remedied by including an appropriate notion of scale. Nevertheless, due to their response properties to different types of image structures at different scales, the LoG and DoH <a href="Blob_detection" title="Blob detection">blob detectors</a> are also mentioned in the article on <a href="Corner_detection" title="Corner detection">corner detection</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Ridges">Ridges</h3></div>
<p>For elongated objects, the notion of <i>ridges</i> is a natural tool. A ridge descriptor computed from a grey-level image can be seen as a generalization of a <a href="Medial_axis" title="Medial axis">medial axis</a>. From a practical viewpoint, a ridge can be thought of as a one-dimensional curve that represents an axis of symmetry, and in addition has an attribute of local ridge width associated with each ridge point. Unfortunately, however, it is algorithmically harder to extract ridge features from general classes of grey-level images than edge-, corner- or blob features. Nevertheless, ridge descriptors are frequently used for road extraction in aerial images and for extracting blood vessels in medical images—see <a href="Ridge_detection" title="Ridge detection">ridge detection</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Detection">Detection </h2></div>

<p><b>Feature detection</b> includes methods for computing abstractions of image information and making local decisions at every image point whether there is an image feature of a given type at that point or not. The resulting features will be subsets of the image domain, often in the form of isolated points, continuous curves or connected regions.
</p><p>The extraction of features are sometimes made over several scalings. One of these methods is the <a href="Scale-invariant_feature_transform" title="Scale-invariant feature transform">scale-invariant feature transform</a> (SIFT).
</p>
<table class="wikitable">
<caption>Common feature detectors and their classification:
</caption>
<tbody><tr>
<th>Feature detector</th>
<th><a href="Edge_detection" title="Edge detection">Edge</a></th>
<th><a href="Corner_detection" title="Corner detection">Corner</a></th>
<th><a href="Blob_detection" title="Blob detection">Blob</a></th>
<th><a href="Ridge_detection" title="Ridge detection">Ridge</a>
</th></tr>
<tr>
<td><a href="Canny_edge_detector" title="Canny edge detector">Canny</a><sup id="cite_ref-Can86_3-0" class="reference"><a href="#cite_note-Can86-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>

<tr>
<td><a href="Sobel_operator" title="Sobel operator">Sobel</a>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>

<tr>
<td><a href="Harris_corner_detector" title="Harris corner detector">Harris &amp; Stephens / Plessey</a><sup id="cite_ref-HarSte88_4-0" class="reference"><a href="#cite_note-HarSte88-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Corner_detection#The_SUSAN_corner_detector" title="Corner detection">SUSAN</a><sup id="cite_ref-Sus97_5-0" class="reference"><a href="#cite_note-Sus97-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Corner_detection#The_Shi_and_Tomasi_corner_detection_algorithm" title="Corner detection">Shi &amp; Tomasi</a><sup id="cite_ref-ShiTom94_6-0" class="reference"><a href="#cite_note-ShiTom94-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Corner_detection#The_level_curve_curvature_approach" title="Corner detection">Level curve curvature</a><sup id="cite_ref-Lin98_7-0" class="reference"><a href="#cite_note-Lin98-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Features_from_accelerated_segment_test" title="Features from accelerated segment test">FAST</a><sup id="cite_ref-Ros06_8-0" class="reference"><a href="#cite_note-Ros06-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Blob_detection#The_Laplacian_of_Gaussian" title="Blob detection">Laplacian of Gaussian</a><sup id="cite_ref-Lin98_7-1" class="reference"><a href="#cite_note-Lin98-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Difference_of_Gaussians" title="Difference of Gaussians">Difference of Gaussians</a><sup id="cite_ref-Cro84_9-0" class="reference"><a href="#cite_note-Cro84-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Low04_10-0" class="reference"><a href="#cite_note-Low04-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Blob_detection#The_determinant_of_the_Hessian" title="Blob detection">Determinant of Hessian</a><sup id="cite_ref-Lin98_7-2" class="reference"><a href="#cite_note-Lin98-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Hessian_strength_feature_measures" class="mw-redirect" title="Hessian strength feature measures">Hessian strength feature measures</a><sup id="cite_ref-Lin13JMIV_11-0" class="reference"><a href="#cite_note-Lin13JMIV-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Lin15JMIV_12-0" class="reference"><a href="#cite_note-Lin15JMIV-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Maximally_stable_extremal_regions" title="Maximally stable extremal regions">MSER</a><sup id="cite_ref-Mat02_13-0" class="reference"><a href="#cite_note-Mat02-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr>
<tr>
<td><a href="Ridge_detection" title="Ridge detection">Principal curvature ridges</a><sup id="cite_ref-Har83_14-0" class="reference"><a href="#cite_note-Har83-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Ebe94_15-0" class="reference"><a href="#cite_note-Ebe94-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Lin98b_16-0" class="reference"><a href="#cite_note-Lin98b-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td></tr>
<tr>
<td><a href="Blob_detection#Grey-level_blobs,_grey-level_blob_trees_and_scale-space_blobs" title="Blob detection">Grey-level blobs</a><sup id="cite_ref-Lin93_17-0" class="reference"><a href="#cite_note-Lin93-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td>
<td style="background:#9EFF9E;color:black;vertical-align:middle;text-align:center;" class="table-yes">Yes
</td>
<td style="background:#FFC7C7;color:black;vertical-align:middle;text-align:center;" class="table-no">No
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Extraction">Extraction</h2></div>
<div role="note" class="hatnote navigation-not-searchable">For broader coverage of this topic, see <a href="Feature_extraction_(machine_learning)" class="mw-redirect" title="Feature extraction (machine learning)">Feature extraction (machine learning)</a>.</div>
<p>Once features have been detected, a local image patch around the feature can be extracted. This extraction may involve quite considerable amounts of image processing. The result is known as a feature descriptor or feature vector. Among the approaches that are used to feature description, one can mention <a href="N-jet" title="N-jet"><i>N</i>-jets</a> and local histograms (see <a href="Scale-invariant_feature_transform" title="Scale-invariant feature transform">scale-invariant feature transform</a> for one example of a local histogram descriptor). In addition to such attribute information, the feature detection step by itself may also provide complementary attributes, such as the edge orientation and gradient magnitude in edge detection and the polarity and the strength of the blob in blob detection.
</p>
<div class="mw-heading mw-heading3"><h3 id="Low-level">Low-level</h3></div>
<ul><li><a href="Edge_detection" title="Edge detection">Edge detection</a></li>
<li><a href="Corner_detection" title="Corner detection">Corner detection</a></li>
<li><a href="Blob_detection" title="Blob detection">Blob detection</a></li>
<li><a href="Ridge_detection" title="Ridge detection">Ridge detection</a></li>
<li><a href="Scale-invariant_feature_transform" title="Scale-invariant feature transform">Scale-invariant feature transform</a></li></ul>
<div class="mw-heading mw-heading4"><h4 id="Curvature">Curvature</h4></div>
<ul><li>Edge direction, changing intensity, <a href="Autocorrelation" title="Autocorrelation">autocorrelation</a>.</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Image_motion">Image motion</h4></div>
<ul><li><a href="Motion_detection" class="mw-redirect" title="Motion detection">Motion detection</a>. Area based, differential approach. <a href="Optical_flow" title="Optical flow">Optical flow</a>.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Shape_based">Shape based</h3></div>
<ul><li><a href="Thresholding_(image_processing)" title="Thresholding (image processing)">Thresholding</a></li>
<li><a href="Blob_extraction" class="mw-redirect" title="Blob extraction">Blob extraction</a></li>
<li><a href="Template_matching" title="Template matching">Template matching</a></li>
<li><a href="Hough_transform" title="Hough transform">Hough transform</a>
<ul><li>Lines</li>
<li>Circles/ellipses</li>
<li>Arbitrary shapes (generalized Hough transform)</li>
<li>Works with any parameterizable feature (class variables, cluster detection, etc..)</li></ul></li>
<li><a href="Generalised_Hough_transform" title="Generalised Hough transform">Generalised Hough transform</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Flexible_methods">Flexible methods</h3></div>
<ul><li>Deformable, parameterized shapes</li>
<li>Active contours (snakes)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Representation">Representation</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Visual_descriptor" title="Visual descriptor">Visual descriptor</a></div>
<p>A specific image feature, defined in terms of a specific structure in the image data, can often be represented in different ways. For example, an edge can be represented as a <a href="Boolean_variable" class="mw-redirect" title="Boolean variable">Boolean variable</a> in each image point that describes whether an edge is present at that point. Alternatively, we can instead use a representation that provides a <a href="Measurement_uncertainty" title="Measurement uncertainty">certainty measure</a> instead of a Boolean statement of the edge's existence and combine this with information about the <a href="Orientation_(geometry)" title="Orientation (geometry)">orientation</a> of the edge. Similarly, the color of a specific region can either be represented in terms of the average color (three scalars) or a <a href="Color_histogram" title="Color histogram">color histogram</a> (three functions).
</p><p>When a computer vision system or computer vision algorithm is designed the choice of feature representation can be a critical issue. In some cases, a higher level of detail in the description of a feature may be necessary for solving the problem, but this comes at the cost of having to deal with more data and more demanding processing. Below, some of the factors which are relevant for choosing a suitable representation are discussed. In this discussion, an instance of a feature representation is referred to as a <i><style data-mw-deduplicate="TemplateStyles:r1238216509">
/* start https://en.wikipedia.org/ */


.mw-parser-output .vanchor>:target~.vanchor-text{background-color:#b1d2ff}@media screen{html.skin-theme-clientpref-night .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}


/* end https://en.wikipedia.org/ */
</style><span class="vanchor"><span class="vanchor-text">feature descriptor</span></span></i>, or simply <i>descriptor</i>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Certainty_or_confidence">Certainty or confidence</h3></div>
<p>Two examples of image features are local edge orientation and local velocity in an image sequence. In the case of orientation, the value of this feature may be more or less undefined if more than one edge are present in the corresponding neighborhood. Local velocity is undefined if the corresponding image region does not contain any spatial variation. As a consequence of this observation, it may be relevant to use a feature representation that includes a measure of certainty or confidence related to the statement about the feature value. Otherwise, it is a typical situation that the same descriptor is used to represent feature values of low certainty and feature values close to zero, with a resulting ambiguity in the interpretation of this descriptor. Depending on the application, such an ambiguity may or may not be acceptable.
</p><p>In particular, if a featured image will be used in subsequent processing, it may be a good idea to employ a feature representation that includes information about <a href="Certainty" title="Certainty">certainty</a> or <a href="Confidence" title="Confidence">confidence</a>. This enables a new feature descriptor to be computed from several descriptors, for example, computed at the same image point but at different scales, or from different but neighboring points, in terms of a weighted average where the weights are derived from the corresponding certainties. In the simplest case, the corresponding computation can be implemented as a low-pass filtering of the featured image. The resulting feature image will, in general, be more stable to noise.
</p>
<div class="mw-heading mw-heading3"><h3 id="Averageability">Averageability</h3></div>
<p>In addition to having certainty measures included in the representation, the representation of the corresponding feature values may itself be suitable for an <a href="Averaging" class="mw-redirect" title="Averaging">averaging</a> operation or not. Most feature representations can be averaged in practice, but only in certain cases can the resulting descriptor be given a correct interpretation in terms of a feature value. Such representations are referred to as <i>averageable</i>.
</p><p>For example, if the orientation of an edge is represented in terms of an angle, this representation must have a discontinuity where the angle wraps from its maximal value to its minimal value. Consequently, it can happen that two similar orientations are represented by angles that have a mean that does not lie close to either of the original angles and, hence, this representation is not averageable. There are other representations of edge orientation, such as the <a href="Structure_tensor" title="Structure tensor">structure tensor</a>, which are averageable.
</p><p>Another example relates to motion, where in some cases only the normal velocity relative to some edge can be extracted. If two such features have been extracted and they can be assumed to refer to same true velocity, this velocity is not given as the average of the normal velocity vectors. Hence, normal velocity vectors are not averageable. Instead, there are other representations of motions, using matrices or tensors, that give the true velocity in terms of an average operation of the normal velocity descriptors.
</p>
<div class="mw-heading mw-heading2"><h2 id="Matching">Matching</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Correspondence_problem" title="Correspondence problem">Correspondence problem</a></div>
<p>Features detected in each image can be matched across multiple images to establish <i>corresponding features</i> such as <i>corresponding points</i>.
</p><p>The algorithm is based on comparing and analyzing point correspondences between the reference image and the target image. If any part of the cluttered scene shares correspondences greater than the threshold, that part of the cluttered scene image is targeted and considered to include the reference object there.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Computer_vision" title="Computer vision">Computer vision</a></li>
<li><a href="Automatic_image_annotation" title="Automatic image annotation">Automatic image annotation</a></li>
<li><a href="Feature_learning" title="Feature learning">Feature learning</a></li>
<li><a href="Feature_selection" title="Feature selection">Feature selection</a></li>
<li><a href="Foreground_detection" title="Foreground detection">Foreground detection</a></li>
<li><a href="Vectorization_(image_tracing)" class="mw-redirect" title="Vectorization (image tracing)">Vectorization (image tracing)</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-Umbaugh2005-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Umbaugh2005_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFScott_E_Umbaugh2005" class="citation book cs1">Scott E Umbaugh (27 January 2005). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=JNhRSAMFn6YC&amp;q=%22feature+space%22"><i>Computer Imaging: Digital Image Analysis and Processing</i></a>. CRC Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0-8493-2919-7</bdi>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFFerrie,_C.,_&amp;_Kaiser,_S.2019" class="citation book cs1">Ferrie, C., &amp; Kaiser, S. (2019). <i>Neural Networks for Babies</i>. Sourcebooks. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>1492671207</bdi>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite book}}</code>: CS1 maint: multiple names: authors list (link)</span></span>
</li>
<li id="cite_note-Can86-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-Can86_3-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFCanny1986" class="citation journal cs1"><a href="John_Canny" title="John Canny">Canny, J.</a> (1986). "A Computational Approach To Edge Detection". <i>IEEE Transactions on Pattern Analysis and Machine Intelligence</i>. <b>8</b> (6): <span class="nowrap">679–</span>714. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTPAMI.1986.4767851">10.1109/TPAMI.1986.4767851</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&nbsp;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/21869365">21869365</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:13284142">13284142</a>.</cite></span>
</li>
<li id="cite_note-HarSte88-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-HarSte88_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFC._HarrisM._Stephens1988" class="citation conference cs1">C. Harris; M. Stephens (1988). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220401053336/http://www.bmva.org/bmvc/1988/avc-88-023.pdf">"A combined corner and edge detector"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the 4th Alvey Vision Conference</i>. pp.&nbsp;<span class="nowrap">147–</span>151. Archived from <a rel="nofollow" class="external text" href="http://www.bmva.org/bmvc/1988/avc-88-023.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2022-04-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-02-11</span></span>.</cite></span>
</li>
<li id="cite_note-Sus97-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-Sus97_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFS._M._SmithJ._M._Brady1997" class="citation journal cs1">S. M. Smith; J. M. Brady (May 1997). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://citeseer.ist.psu.edu/smith95susan.html">"SUSAN - a new approach to low level image processing"</a></span>. <i>International Journal of Computer Vision</i>. <b>23</b> (1): <span class="nowrap">45–</span>78. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FA%3A1007963824710">10.1023/A:1007963824710</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:15033310">15033310</a>.</cite></span>
</li>
<li id="cite_note-ShiTom94-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-ShiTom94_6-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFJ._ShiC._Tomasi1994" class="citation conference cs1">J. Shi; C. Tomasi (June 1994). <a rel="nofollow" class="external text" href="http://citeseer.ist.psu.edu/shi94good.html">"Good Features to Track"</a>. <i>9th IEEE Conference on Computer Vision and Pattern Recognition</i>. Springer.</cite></span>
</li>
<li id="cite_note-Lin98-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-Lin98_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Lin98_7-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Lin98_7-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFT._Lindeberg1998" class="citation journal cs1">T. Lindeberg (1998). <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A453064&amp;dswid=-1017">"Feature detection with automatic scale selection"</a> <span class="cs1-format">(abstract)</span>. <i>International Journal of Computer Vision</i>. <b>30</b> (2): <span class="nowrap">77–</span>116. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FA%3A1008045108935">10.1023/A:1008045108935</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:723210">723210</a>.</cite></span>
</li>
<li id="cite_note-Ros06-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ros06_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFE._RostenT._Drummond2006" class="citation conference cs1">E. Rosten; T. Drummond (2006). "Machine learning for high-speed corner detection". <i>European Conference on Computer Vision</i>. Springer. pp.&nbsp;<span class="nowrap">430–</span>443. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.3991">10.1.1.60.3991</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F11744023_34">10.1007/11744023_34</a>.</cite></span>
</li>
<li id="cite_note-Cro84-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Cro84_9-0">^</a></b></span> <span class="reference-text">J. L. Crowley and A. C. Parker, "<a rel="nofollow" class="external text" href="http://www.dtic.mil/get-tr-doc/pdf?AD=ADA133299">A Representation for Shape Based on Peaks and Ridges in the Difference of Low Pass Transform</a>", IEEE Transactions on PAMI, PAMI 6 (2), pp.&nbsp;156–170, March 1984.</span>
</li>
<li id="cite_note-Low04-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-Low04_10-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFD._Lowe2004" class="citation journal cs1">D. Lowe (2004). <a rel="nofollow" class="external text" href="http://citeseer.ist.psu.edu/654168.html">"Distinctive Image Features from Scale-Invariant Keypoints"</a>. <i>International Journal of Computer Vision</i>. <b>60</b> (2): 91. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.2924">10.1.1.73.2924</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FB%3AVISI.0000029664.99615.94">10.1023/B:VISI.0000029664.99615.94</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:221242327">221242327</a>.</cite></span>
</li>
<li id="cite_note-Lin13JMIV-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lin13JMIV_11-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://doi.org/10.1007/s10851-012-0378-3">T. Lindeberg "Scale selection properties of generalized scale-space interest point detectors", Journal of Mathematical Imaging and Vision, Volume 46, Issue 2, pages 177-210, 2013.</a></span>
</li>
<li id="cite_note-Lin15JMIV-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lin15JMIV_12-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://doi.org/10.1007/s10851-014-0541-0">T. Lindeberg "Image matching using generalized scale-space interest points", <i>Journal of Mathematical Imaging and Vision</i>, volume 52, number 1, pages 3-36, 2015.</a></span>
</li>
<li id="cite_note-Mat02-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-Mat02_13-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFJ._MatasO._ChumM._UrbanT._Pajdla2002" class="citation conference cs1">J. Matas; O. Chum; M. Urban; T. Pajdla (2002). <a rel="nofollow" class="external text" href="http://cmp.felk.cvut.cz/~matas/papers/matas-bmvc02.pdf">"Robust wide baseline stereo from maximally stable extremum regions"</a> <span class="cs1-format">(PDF)</span>. <i>British Machine Vision Conference</i>. pp.&nbsp;<span class="nowrap">384–</span>393.</cite></span>
</li>
<li id="cite_note-Har83-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-Har83_14-0">^</a></b></span> <span class="reference-text">R. Haralick, "<a rel="nofollow" class="external text" href="http://www.cs.unc.edu/Research/Image/MIDAG/pubs/CScourses/254-Spring2002/Haralick-Ridges-CVGIP.PDF">Ridges and Valleys on Digital Images</a>", Computer Vision, Graphics, and Image Processing vol. 22, no. 10, pp.&nbsp;28–38, Apr. 1983. </span>
</li>
<li id="cite_note-Ebe94-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ebe94_15-0">^</a></b></span> <span class="reference-text">D. Eberly, R. Gardner, B. Morse, S. Pizer, C. Scharlach, <a rel="nofollow" class="external text" href="http://www.cs.unc.edu/techreports/93-055.ps">Ridges for image analysis</a>, Journal of Mathematical Imaging and Vision, v.&nbsp;4 n.&nbsp;4, pp.&nbsp;353–373, Dec. 1994.</span>
</li>
<li id="cite_note-Lin98b-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lin98b_16-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFT._Lindeberg1998" class="citation journal cs1">T. Lindeberg (1998). <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A452310&amp;dswid=5658">"Edge detection and ridge detection with automatic scale selection"</a> <span class="cs1-format">(abstract)</span>. <i>International Journal of Computer Vision</i>. <b>30</b> (2): <span class="nowrap">117–</span>154. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FA%3A1008097225773">10.1023/A:1008097225773</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:207658261">207658261</a>.</cite></span>
</li>
<li id="cite_note-Lin93-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lin93_17-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFT._Lindeberg1993" class="citation journal cs1">T. Lindeberg (1993). <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A472969&amp;dswid=-485">"Detecting Salient Blob-Like Image Structures and Their Scales with a Scale-Space Primal Sketch: A Method for Focus-of-Attention"</a> <span class="cs1-format">(abstract)</span>. <i>International Journal of Computer Vision</i>. <b>11</b> (3): <span class="nowrap">283–</span>318. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2FBF01469346">10.1007/BF01469346</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:11998035">11998035</a>.</cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.mathworks.com/help/vision/examples/object-detection-in-a-cluttered-scene-using-point-feature-matching.html">"Object Detection in a Cluttered Scene Using Point Feature Matching - MATLAB &amp; Simulink"</a>. <i>www.mathworks.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2019-07-06</span></span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFT._Lindeberg2009" class="citation encyclopaedia cs1">T. Lindeberg (2009). <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/record.jsf?pid=diva2%3A441147&amp;dswid=995">"Scale-space"</a>. In Benjamin Wah (ed.). <i>Encyclopedia of Computer Science and Engineering</i>. Vol.&nbsp;IV. John Wiley and Sons. pp.&nbsp;<span class="nowrap">2495–</span>2504. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1002%2F9780470050118.ecse609">10.1002/9780470050118.ecse609</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-0470050118</bdi>.</cite> (summary and review of a number of feature detectors formulated based on scale-space operations)</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Computer_vision148" style="padding:3px"><table class="nowraplinks mw-collapsible expanded navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Computer_vision148" style="font-size:114%;margin:0 4em"><a href="Computer_vision" title="Computer vision">Computer vision</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Categories</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Datasets</li>
<li><a href="Digital_geometry" title="Digital geometry">Digital geometry</a></li>
<li>Commercial systems</li>
<li>Feature detection</li>
<li>Geometry</li>
<li>Image sensor technology</li>
<li>Learning</li>
<li><a href="Mathematical_morphology" title="Mathematical morphology">Morphology</a></li>
<li>Motion analysis</li>
<li>Noise reduction techniques</li>
<li>Recognition and categorization</li>
<li>Research infrastructure</li>
<li>Researchers</li>
<li>Segmentation</li>
<li>Software</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Technologies</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computer_stereo_vision" title="Computer stereo vision">Computer stereo vision</a></li>
<li><a href="Motion_capture" title="Motion capture">Motion capture</a></li>
<li><a href="Outline_of_object_recognition" title="Outline of object recognition">Object recognition</a>
<ul><li><a href="3D_object_recognition" title="3D object recognition">3D object recognition</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Applications</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="3D_reconstruction21" scope="row" class="navbox-group" style="width:1%"><a href="3D_reconstruction" title="3D reconstruction">3D reconstruction</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="3D_reconstruction_from_multiple_images" title="3D reconstruction from multiple images">3D reconstruction from multiple images</a></li>
<li><a href="2D_to_3D_conversion" title="2D to 3D conversion">2D to 3D conversion</a></li>
<li><a href="Gaussian_splatting" title="Gaussian splatting">Gaussian splatting</a></li>
<li><a href="Neural_radiance_field" title="Neural radiance field">Neural radiance field</a></li>
<li><a href="Shape_from_focus" title="Shape from focus">Shape from focus</a></li>
<li><a href="Simultaneous_localization_and_mapping" title="Simultaneous localization and mapping">Simultaneous localization and mapping</a></li>
<li><a href="Structure_from_motion" title="Structure from motion">Structure from motion</a></li>
<li><a href="View_synthesis" title="View synthesis">View synthesis</a></li>
<li><a href="Visual_hull" title="Visual hull">Visual hull</a></li>
<li><a href="4D_reconstruction" title="4D reconstruction">4D reconstruction</a>
<ul><li><a href="Free_viewpoint_television" title="Free viewpoint television">Free viewpoint television</a></li>
<li><a href="Volumetric_capture" title="Volumetric capture">Volumetric capture</a></li></ul></li></ul>
</div></td></tr></tbody></table><div>
<ul><li><a href="3D_pose_estimation" title="3D pose estimation">3D pose estimation</a></li>
<li><a href="Activity_recognition" title="Activity recognition">Activity recognition</a></li>
<li><a href="Audio-visual_speech_recognition" title="Audio-visual speech recognition">Audio-visual speech recognition</a></li>
<li><a href="Automatic_image_annotation" title="Automatic image annotation">Automatic image annotation</a></li>
<li><a href="Automatic_number-plate_recognition" title="Automatic number-plate recognition">Automatic number-plate recognition</a></li>
<li><a href="Automated_species_identification" title="Automated species identification">Automated species identification</a></li>
<li><a href="Augmented_reality" title="Augmented reality">Augmented reality</a></li>
<li><a href="Bioimage_informatics" title="Bioimage informatics">Bioimage informatics</a></li>
<li><a href="Blob_detection" title="Blob detection">Blob detection</a></li>
<li><a href="Computer-aided_diagnosis" title="Computer-aided diagnosis">Computer-aided diagnosis</a></li>
<li><a href="Content-based_image_retrieval" title="Content-based image retrieval">Content-based image retrieval</a>
<ul><li><a href="Reverse_image_search" title="Reverse image search">Reverse image search</a></li></ul></li>
<li><a href="Eye_tracking" title="Eye tracking">Eye tracking</a></li>
<li><a href="Facial_recognition_system" title="Facial recognition system">Face recognition</a></li>
<li><a href="Foreground_detection" title="Foreground detection">Foreground detection</a></li>
<li><a href="Gesture_recognition" title="Gesture recognition">Gesture recognition</a></li>
<li><a href="Image_denoising" class="mw-redirect" title="Image denoising">Image denoising</a></li>
<li><a href="Image_restoration_by_artificial_intelligence" title="Image restoration by artificial intelligence">Image restoration</a></li>
<li><a href="Landmark_detection" title="Landmark detection">Landmark detection</a></li>
<li><a href="Medical_image_computing" title="Medical image computing">Medical image computing</a></li>
<li><a href="Object_detection" title="Object detection">Object detection</a>
<ul><li><a href="Moving_object_detection" title="Moving object detection">Moving object detection</a></li>
<li><a href="Small_object_detection" title="Small object detection">Small object detection</a></li></ul></li>
<li><a href="Optical_character_recognition" title="Optical character recognition">Optical character recognition</a></li>
<li><a href="Pose_tracking" title="Pose tracking">Pose tracking</a></li>
<li><a href="Remote_sensing" title="Remote sensing">Remote sensing</a></li>
<li><a href="Robotic_mapping" title="Robotic mapping">Robotic mapping</a></li>
<li><a href="Self-driving_car" title="Self-driving car">Autonomous vehicles</a></li>
<li><a href="Video_content_analysis" title="Video content analysis">Video content analysis</a></li>
<li><a href="Video_motion_analysis" title="Video motion analysis">Video motion analysis</a></li>
<li><a href="Artificial_intelligence_for_video_surveillance" title="Artificial intelligence for video surveillance">Video surveillance</a></li>
<li><a href="Video_tracking" title="Video tracking">Video tracking</a></li></ul></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><b>Main category</b></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-30" href="https://en.wikipedia.org/wiki/?title=Feature_(computer_vision)&amp;oldid=1303356567">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>